﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace smartvoid.secciones
{
    public partial class CrearGrupo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["Usuario"] != null)
            {
                Label usuarioLogueado = new Label();
                Usuario user = Session["Usuario"] as Usuario;
                lblUsuario.Text = user.u_Usuario;
                //miCuenta.Visible = true;
            }

            if (lblUsuario.Text.Trim() == "-")
            {
                //miCuenta.Visible = false;
                lblUsuario.Text = "Desconocido";
            }
        }

        protected void btnCrearGrupo_Click(object sender, EventArgs e)
        {
            using (var SmartVctx = new SmartVoidEntities())
            {
                Grupos objGrupo = new Grupos();
                int idGrupo = obtenerMaximo() + 1;

                objGrupo.g_IDGrupo = idGrupo;
                objGrupo.g_Nombre = txtNombreGrupo.Text;
                objGrupo.g_Descripcion = txtDescripcionGrupo.Text;
                objGrupo.g_Creador = lblUsuario.Text;

                Usuarios_x_Grupo objUsuario = new Usuarios_x_Grupo();
                objUsuario.uxg_IDGrupo = idGrupo;
                objUsuario.uxg_IDUsuario = lblUsuario.Text;

                SmartVctx.Usuarios_x_Grupo.AddObject(objUsuario);
                SmartVctx.Grupos.AddObject(objGrupo);
                SmartVctx.SaveChanges();
                Response.Redirect("Principal.aspx");
            }
        }

        int obtenerMaximo()
        {
            using (var SmartVctx = new SmartVoidEntities())
            {
                int maximo;

                try
                {
                    maximo = SmartVctx.Grupos.Max(p => p.g_IDGrupo);
                }
                catch (InvalidOperationException ex)
                {
                    maximo = 0;
                }

                return maximo;
            }
        }



    }
}